Release v0.8.0: HWPX writeback round-trip 검증 (verify_hwpx_roundtrip)#24
Merged
Conversation
현재 Document 를 HWPX 로 직렬화·재파싱 후 상류 diff_documents 로 IR 차이를 측정해 RoundtripReport (ok + differences) 반환. 보존 boundary 를 v0.7.0 의 텍스트·문단에서 diff_documents 가 실제 비교하는 필드 (표 cell·캡션·page_break, 그림 크기·캡션, char_shape·lineseg, PageDef, 리소스·BinData count) 로 확대. additive only — IR schema "1.1" 불변, Cargo.toml 0.7.0 유지. v0.8.0 spec·ADR Draft, AC-1~AC-6 회귀 7 테스트 포함. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
render_common_shape_xml 경유 도형 (ellipse/arc/polygon/curve/chart/ole) 이 hp:shapeComment 를 미방출하는 #1392 후속 누락. 제안 패치 적용 시 round-trip diff 0 실측 검증 후 external/rhwp 원복. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
verify_hwpx_roundtrip 구현은 선행 커밋에 있고, 본 커밋은 release 문서만 확정함. Cargo.toml 0.7.0 → 0.8.0 (pyproject.toml 은 dynamic 자동 추종), spec·ADR frontmatter Frozen 전환, 구현 로그 migration.md 신규, CHANGELOG Unreleased → 0.8.0 확정. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
headless macOS PNG 렌더 hang (CoreText IPC) 이 v0.7.13 에서 해결되고 현재 pin 7d9aae7f (v0.7.16+36) 이 fix 를 포함하므로, 4083a27 의 비활성화를 되돌려 test-other-os 매트릭스에 macos-latest 를 복원함. 관련 upstream 이슈 문서를 RESOLVED Frozen 으로 전환. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v0.8.0 — parse 한
Document를 HWPX 로 저장했을 때 IR 의미가 보존되는지 검증하는Document.verify_hwpx_roundtrip()표면을 추가한다.Document.verify_hwpx_roundtrip() -> RoundtripReport— 현재 문서를 HWPX 로 직렬화 → 재파싱 후 상류diff_documents로 원본 대비 IR 차이 측정.ok: bool+differences: list[str](불변ok == not differences). 직렬화·재파싱 실패는ValueError.rhwp.RoundtripReportpublic 모델 (frozen=True/extra="forbid").diff_documents가 실제 비교하는 필드 (표 cell·캡션·page_break, 그림 크기·캡션, char_shape·lineseg, PageDef, 리소스·BinData count).7d9aae7f)."1.1"불변,Cargo.toml0.7.0 → 0.8.0 (pyproject 는 dynamic 추종).검증:
pytest -m "not slow"606 passed / 2 skipped,clippy -D warningsclean,test_view_baseline2/2 byte-equal,lint_docs0 위반.Why
parse → HWPX 저장의 충실도를 사용자가 프로그램으로 검출하는 표면 — RAG / 포맷 변환 파이프라인의 안전장치다. v0.7.0 이 연 writeback 의 보존 boundary 가 상류 round-trip 비교 (
diff_documents) 성숙으로 표·그림·char_shape 까지 확대 가능해진 시점에 맞춰 확장한다.Related Issues
hp:shapeComment미직렬화를 상류 edwardkim/rhwp#1451 로 보고 (제안 패치 round-trip diff 0 실측 후 원복).verify_hwpx_roundtrip이 이 손실을 검출하며, spec 영구 비목표 (도형 보존 = 상류 진행 의존) 로 명시.🤖 Generated with Claude Code